/**
 * @params 传入参数
 * @param {{param.url}}            请求路径
 * @param {{param.data}}           请求参数
 * @param {{param.header}}         请求头参数设置 特殊情况调用的时候单独设置
 * @param {{param.method}}          请求方式 GET || POST 默认为POST
 * @param {{param.dataType}}       返回的数据格式,默认为JSON，特殊格式可以在调用的时候传入参数
 * @param {{param.responseType}}   响应的数据类型
 */


const app = new getApp();
const baseUrl = app.globalData.baseUrlApiTest;
const http = (params, callBlack) => {
  return new Promise((resolve, reject) => {
    wx.showLoading({
      title: '加载中',
      mask: true
    })
    wx.request({
      url: baseUrl + params.url,
      data: params.data,
      method: params.method ? params.method : 'POST',
      dataType: params.dataType,
      header: params.header || {
        'md5': "/OF48h0n2/nTdCT12Rhxunjx+WwMTe9yFJb+ZW5WTmXgl79Iei9B1g==",
      },
      responseType: params.responseType,
      success: function (res) {
        if (res.data.code === 10000000) {
          wx.hideLoading();
          resolve(res.data);
          return;
        } else if (res.data.code === 10000004) {
          console.log("请登录")
        } else {
          wx.hideLoading();
          // wx.showToast({
          //   title: res.data.text,
          //   icon: "none",
          //   duration: 2000
          // })
          console.error(`接口报错，接口地址:${params.url} - 报错信息: ${res.data.text}`)
          if (callBlack) { // 如果有回调函数
            callBlack(res.data);
            return;
          }
        }
      },
      fail: function (e) {
        reject(e)
      }
    })
  }).catch((e) => { });
};
module.exports = {
  http: http
}